'use strict';

module.exports = app => {
    return class extends app.Controller {
        * index(ctx) {
            console.log(ctx.request);
            console.log("query",ctx.request.query);
            const query=ctx.request.query;
            const wechatId=ctx.request.header.wechatid;
            var pageParams;
            if(query.pageParams){
                pageParams =JSON.parse(ctx.request.query.pageParams);
                if(!pageParams.order){
                    pageParams.order=[['createdAt','DESC']];
                }
            }else {
                pageParams={
                    pageNum:1,
                    pageLimit:6,
                    pageTotal:0,
                    order:[['createdAt','DESC']]
                }
            }
            var offset=(pageParams.pageNum - 1) * pageParams.pageLimit;
            var items=yield ctx.model.Class.findAndCount({where:pageParams.where,limit:pageParams.pageLimit,offset:offset,order:pageParams.order});
            pageParams.pageTotal=Math.ceil(items.count/pageParams.pageLimit);
            yield ctx.body={
                data:items.rows,
                pageParams:pageParams
            };
        }
        * destroy(ctx){
            let id=ctx.params.id;
            let result=yield ctx.model.Class.destroy({where:{id:id}});
            if(result>0){

                ctx.body={
                    message:"删除成功"
                }
            }else {
                ctx.status=405;
                ctx.body={
                    message:"删除请稍后"
                }
            }

        }
        * create(ctx){
            let body=ctx.request.body;
            let data=yield ctx.model.Class.create(body);
            if(data){
                ctx.body={
                    message:"新增成功！"
                }
            }
        }
        * show(ctx){
            let id=ctx.params.id;
            let data=yield ctx.model.Class.findById(id);
            data.view++;
            data.save();
            ctx.body=data;
        }
        * update(ctx){
            let body=ctx.request.body;
            let data=yield ctx.model.Class.update(body,{where:{id:body.id}});
            if(data){
                ctx.body={
                    message:"修改成功！"
                }
            }
        }
    };
};
